Nico Rieck: this patch series fixes visibility issues on Windows as explained in <http://lists.cs.uiuc.edu/pipermail/cfe-dev/2013-August/031214.html>. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@188192 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/vector b/include/vector index 0758f75..df14344 100644 --- a/include/vector +++ b/include/vector 
@@ -319,7 +319,7 @@  #pragma warning( push )  #pragma warning( disable: 4231 )  #endif // _LIBCPP_MSVC -_LIBCPP_EXTERN_TEMPLATE(class __vector_base_common<true>) +_LIBCPP_EXTERN_TEMPLATE(class _LIBCPP_TYPE_VIS __vector_base_common<true>)  #ifdef _LIBCPP_MSVC  #pragma warning( pop )  #endif // _LIBCPP_MSVC @@ -474,7 +474,7 @@  }    template <class _Tp, class _Allocator = allocator<_Tp> > -class _LIBCPP_TYPE_VIS vector +class _LIBCPP_TYPE_VIS_ONLY vector  : private __vector_base<_Tp, _Allocator>  {  private: @@ -2011,7 +2011,7 @@  };    template <class _Allocator> -class _LIBCPP_TYPE_VIS vector<bool, _Allocator> +class _LIBCPP_TYPE_VIS_ONLY vector<bool, _Allocator>  : private __vector_base_common<true>  {  public: @@ -2369,7 +2369,7 @@  friend class __bit_iterator<vector, false>;  friend class __bit_iterator<vector, true>;  friend struct __bit_array<vector>; - friend struct _LIBCPP_TYPE_VIS hash<vector>; + friend struct _LIBCPP_TYPE_VIS_ONLY hash<vector>;  };    template <class _Allocator> @@ -3152,7 +3152,7 @@  }    template <class _Allocator> -struct _LIBCPP_TYPE_VIS hash<vector<bool, _Allocator> > +struct _LIBCPP_TYPE_VIS_ONLY hash<vector<bool, _Allocator> >  : public unary_function<vector<bool, _Allocator>, size_t>  {  _LIBCPP_INLINE_VISIBILITY